package ynu.edu.item.service;

import com.baomidou.mybatisplus.extension.service.IService;
import ynu.edu.api.dto.ItemDTO;
import ynu.edu.api.dto.OrderDetailDTO;
import ynu.edu.item.domain.po.Item;
import java.util.Collection;
import java.util.List;

public interface IItemService extends IService<Item> {

    /**
     * 扣减库存
     */
    void deductStock(List<OrderDetailDTO> items);

    /**
     * 恢复库存
     */
    Boolean restoreStock(List<OrderDetailDTO> items);

    /**
     * 批量查询商品
     */
    List<ItemDTO> queryItemByIds(Collection<Long> ids);

    /**
     * 检查库存是否充足
     */
    boolean checkStock(List<OrderDetailDTO> items);

    /**
     * 获取商品库存信息
     */
    Integer getItemStock(Long itemId);

    /**
     * 根据商品类别查询商品
     */
    List<ItemDTO> queryItemsByCategory(String category);
}
